package su.api.mock.config;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface ApiSwitch {

    /** 接口对应的key，通过可以该key查询接口是否关闭 */
    String key();

    /** 解析器beanName，通过具体的实现获取key对应的值 */
    String resolver() default "";

    /** 开启后降级类 */
    Class<?> fallbackClass() default void.class;

    /** 开启后降级方法 */
    String fallbackMethod() default "";
}
